In mobile communications networks, some subscribers are prepaid subscribers. Prepaid subscribers are required to pay in advance for call time. Accordingly, for a prepaid subscriber, it is necessary to verify whether the subscriber has sufficient credit in his or her prepaid account to complete calls originated by the prepaid subscriber. In order to determine whether the subscriber has sufficient credit, it is necessary to determine the billing rate to be applied to the call. Since some mobile service providers offer special billing rates for calls between subscribers within their networks, and the rate may vary depending on whether the called party is a subscriber of the same network as the calling party.
In order to determine the billing rate to be charged for a prepaid call, prepaid subscriber databases are used. When a prepaid subscriber roams and attempts to make a call, the visitor location requester (VLR) sends a global system for mobile communications (GSM) update location message (or corresponding IS-41 message) to the subscriber's home location requester (HLR). The HLR receives the update location message, determines that the subscriber is a prepaid subscriber, and formulates a GSM insert subscriber data message (or corresponding IS-41 message). In the insert subscriber data message, the HLR inserts the address of the prepaid database that contains information for the calling mobile subscriber. The HLR forwards the information to the VLR.
Subsequently, when the roaming subscriber initiates a call, the VLR queries the identified prepaid subscriber database to determine rate information for the call. Prepaid subscriber databases identify rates to be charged for calls based on ranges of called party numbers. For example, one range of called party numbers may correspond to one service provider, and another range of called party numbers may correspond to another service provider. If the called party number is within a range that corresponds to the same service provider as the calling party, a reduced billing rate may be applied to the call.
In a number portability (NP) environment, the called party number for a call originating from a prepaid subscriber may be ported and therefore may falsely be identified as within or outside of the range of subscriber numbers corresponding to the calling party service provider. For example, the prepaid subscriber database may incorrectly identify the call as in-network call and charge a billing rate that is too low for the call. In another example, the prepaid subscriber database may incorrectly identify the call as an out-of-network call and charge a rate that is too high.
One potential solution to the prepaid subscriber/number portability problem is to intercept queries to prepaid subscriber databases and insert the routing number (RN) corresponding to the ported called subscriber in the prepaid subscriber query message. However, this solution requires that the receiving node be capable of intercepting queries that are not addressed to it. In addition, this solution requires that the HLR keep track of prepaid subscriber databases corresponding to each calling party number.
Accordingly, in light of the difficulties associated with processing messages associated with prepaid mobile subscribers, there exists a need for improved methods, systems, and computer program products for processing signaling messages associated with prepaid subscribers in a number portability environment in which differential billing is performed.